பைதான் ML மதிப்பீட்டில் அளவீடுகள் மற்றும் மதிப்பெண்களை ஆழமாக ஆராயுங்கள். உலகளாவிய மாதிரி மதிப்பீட்டிற்கான முக்கிய நுட்பங்கள், பயன்பாடுகள் மற்றும் சிறந்த நடைமுறைகளை கற்றுக்கொள்ளுங்கள். தரவு அறிவியலாளர்களுக்கு அவசியம்.
பைதான் மெஷின் லேர்னிங் மதிப்பீடு: அளவீடுகள் எதிராக மதிப்பெண்கள் – ஒரு உலகளாவிய வழிகாட்டி
வேகமாக வளர்ந்து வரும் மெஷின் லேர்னிங் (ML) உலகில், ஒரு மாதிரியை உருவாக்குவது பயணத்தின் பாதி மட்டுமே. மற்றொன்று, நிச்சயமாக மிகவும் முக்கியமான பாதி, அதன் செயல்திறனை மதிப்பிடுவது ஆகும். எவ்வளவு அதிநவீனமாக இருந்தாலும், ஒரு மாதிரி அது வடிவமைக்கப்பட்ட சிக்கலைத் தீர்க்கும் திறனைப் பொறுத்தே சிறந்தது. ஆனால் "நல்லது" என்பதை நாம் எவ்வாறு சரியாக அளவிடுவது? இந்த கேள்வி நம்மை மதிப்பீட்டின் முக்கிய கருத்துக்களுக்கு அழைத்துச் செல்கிறது: அளவீடுகள் மற்றும் மதிப்பெண்கள்.
உலகளாவிய சூழலில் இயங்கும் தரவு அறிவியலாளர்கள் மற்றும் ML பொறியாளர்களுக்கு, பைதானில் இந்தக் கருத்துக்களை ஆழமாகப் புரிந்துகொள்வது வெறும் தொழில்நுட்பத் திறமை மட்டுமல்ல; இது பல்வேறு தரவுத்தொகுப்புகள் மற்றும் பயனர் குழுக்களில் நேர்மை, நம்பகத்தன்மை மற்றும் நிஜ உலக தாக்கத்தை உறுதி செய்வதாகும். இந்த விரிவான வழிகாட்டி பைதான் ML மதிப்பீட்டைத் தெளிவுபடுத்தும், அளவீடுகள் மற்றும் மதிப்பெண்களுக்கு இடையே தெளிவான வேறுபாட்டை வரையும், முக்கிய நுட்பங்களை ஆராயும் மற்றும் வலுவான மாதிரி மதிப்பீட்டிற்கான செயல்படக்கூடிய நுண்ணறிவுகளை வழங்கும்.
மெஷின் லேர்னிங்கில் மதிப்பீட்டின் தவிர்க்க முடியாத பங்கு
கடன் தகுதியை அல்லது ஒரு தீவிர மருத்துவ நிலையைக் கண்டறியும் ஒரு ML மாதிரியைப் பயன்படுத்துவதாக கற்பனை செய்து பாருங்கள். அதன் செயல்திறன் சரியாக மதிப்பிடப்படவில்லை என்றால், அதன் விளைவுகள் நிதி இழப்புகள் முதல் கடுமையான நெறிமுறை சிக்கல்கள் அல்லது உயிருக்கு ஆபத்தான பிழைகள் வரை இருக்கலாம். மதிப்பீடு என்பது வெறும் இறுதி படி அல்ல; இது மாதிரி உருவாக்கத்தை கருத்தாக்கம் முதல் பயன்பாடு மற்றும் தொடர்ச்சியான பராமரிப்பு வரை வழிநடத்தும் ஒரு தொடர்ச்சியான செயல்முறையாகும்.
திறமையான மதிப்பீடு நமக்கு உதவுகிறது:
- மாதிரி செயல்திறனை சரிபார்க்கவும்: பயிற்சித் தொகுதியில் மட்டுமல்லாமல், மாதிரி பார்க்காத தரவுகளுக்கும் நன்றாக பொதுமைப்படுத்துகிறது என்பதை உறுதிப்படுத்தவும்.
- மாதிரிகளை ஒப்பிடவும்: ஒரு குறிப்பிட்ட பிரச்சனைக்கு எந்த மாதிரி அல்லது அல்காரிதம் மிகவும் பொருத்தமானது என்பதை தீர்மானிக்கவும்.
- ஹைபர்பாராமீட்டர்களை மேம்படுத்தவும்: சிறந்த செயல்திறனை அடைய மாதிரி அமைப்புகளை சரிசெய்யவும்.
- பாகுபாடு மற்றும் நேர்மையின்மை சிக்கல்களை அடையாளம் காணவும்: உலகளாவிய பயன்பாடுகளுக்கு இது மிகவும் முக்கியம், வெவ்வேறு மக்கள்தொகை குழுக்கள், பிராந்தியங்கள் அல்லது கலாச்சார சூழல்களில் மாதிரி சமமாக செயல்படுவதை உறுதி செய்தல்.
- பங்குதாரர்களுக்கு முடிவுகளைத் தெரிவிக்கவும்: சிக்கலான மாதிரி செயல்திறனைப் புரிந்துகொள்ளக்கூடிய வணிக விளைவுகளாக மாற்றவும்.
- வணிக முடிவுகளைத் தெரிவிக்கவும்: மாதிரியிலிருந்து பெறப்பட்ட நுண்ணறிவுகள் நம்பகமானவை மற்றும் செயல்படக்கூடியவை என்பதை உறுதிப்படுத்தவும்.
வலுவான மதிப்பீட்டு கட்டமைப்பு இல்லாமல், மிகவும் புதுமையான ML தீர்வுகளும் நிஜ உலக சூழ்நிலைகளில் நம்பகத்தன்மையற்றதாக, நியாயமற்றதாக அல்லது பொருத்தமற்றதாக மாறக்கூடும்.
முக்கிய கருத்துக்களைப் புரிந்துகொள்வது: அளவீடுகள் எதிராக மதிப்பெண்கள்
பைதான் மெஷின் லேர்னிங் சுற்றுச்சூழல் அமைப்பில், குறிப்பாக ஸ்கிக்கிட்-லேர்ன் போன்ற நூலகங்களுடன், "அளவீடுகள்" மற்றும் "மதிப்பெண்கள்" பெரும்பாலும் ஒன்றுக்கொன்று மாற்றாகப் பயன்படுத்தப்பட்டாலும், அவை தனித்துவமான ஆனால் தொடர்புடைய கருத்துக்களைக் குறிக்கின்றன. இந்த வேறுபாட்டைப் புரிந்துகொள்வது பயனுள்ள மாதிரி மதிப்பீட்டிற்கு அடிப்படையாகும்.
அளவீடுகள் என்றால் என்ன?
அளவீடுகள் என்பவை ஒரு மெஷின் லேர்னிங் மாதிரியின் செயல்திறனை மதிப்பிடப் பயன்படும் அளவீட்டு அளவுகளாகும். இவை உங்கள் மாதிரி அதன் பணியின் ஒரு குறிப்பிட்ட அம்சத்தில் எவ்வளவு சிறப்பாக செயல்படுகிறது என்பதைக் கூறும் உண்மையான கணக்கீடுகளாகும். அவற்றை "மதிப்பெண் அட்டையின் உள்ளீடுகள்" என்று நினைத்துக் கொள்ளுங்கள்.
பொதுவான அளவீடுகளின் எடுத்துக்காட்டுகள்:
- துல்லியம் (Accuracy): சரியாகக் கணிக்கப்பட்ட நிகழ்வுகளின் விகிதம்.
- துல்லியத்தன்மை (Precision): உண்மையில் சரியான நேர்மறை அடையாளங்களின் விகிதம்.
- சராசரி முழுமையான பிழை (Mean Absolute Error - MAE): கணிப்புகள் மற்றும் உண்மையான மதிப்புகளுக்கு இடையிலான முழுமையான வேறுபாடுகளின் சராசரி.
- R-சதுரம் (R²): சார்பு மாறியின் மாறுபாட்டின் விகிதம், இது சார்பற்ற மாறி(கள்) இலிருந்து கணிக்கப்படக்கூடியது.
அளவீடுகள் பொதுவாக மாதிரியின் கணிப்புகள் மற்றும் உண்மையான லேபிள்கள்/மதிப்புகளிலிருந்து நேரடியாகக் கணக்கிடப்படுகின்றன. ஒரு மாதிரி ஒரு தரவுத்தொகுதியில் அதன் கணிப்புகளைச் செய்த பிறகு நீங்கள் அவற்றைக் கணக்கிடுகிறீர்கள்.
மதிப்பெண் என்றால் என்ன?
மதிப்பெண், ஸ்கிக்கிட்-லேர்ன் சூழலில், ஒரு மாதிரியை மதிப்பிடுவதற்கு ஒரு அளவீட்டை (அல்லது அளவீடுகளின் தொகுப்பை) பயன்படுத்தும் ஒரு *செயல்பாடு* அல்லது *செயல்முறையைக்* குறிக்கிறது. இது பெரும்பாலும் ஒரு மாதிரிக்கு தரவை அனுப்புவதற்கும், பின்னர் தேர்ந்தெடுக்கப்பட்ட அளவீட்டை முடிவுகளுக்குப் பயன்படுத்துவதற்கும் ஒரு தரப்படுத்தப்பட்ட வழியை உள்ளடக்கியது. குறுக்கு சரிபார்ப்பு, ஹைபர்பாராமீட்டர் ட்யூனிங் அல்லது மாதிரி தேர்வு போன்ற பணிகளுக்கு ஸ்கிக்கிட்-லேர்ன் எஸ்டிமேட்டர்கள் மற்றும் யூடிலிட்டிஸால் மதிப்பெண் செயல்பாடுகள் அடிக்கடி உள்நாட்டில் பயன்படுத்தப்படுகின்றன.
மதிப்பெண் செயல்பாடுகளின் முக்கிய பண்புகள்:
- அவை பெரும்பாலும் ஒரு ஒற்றை எண் மதிப்பைத் தருகின்றன, இது மேம்படுத்தலுக்கு ஏற்றதாக அமைகிறது (எ.கா., ஒரு மதிப்பெண்ணை அதிகப்படுத்தும் ஹைபர்பாராமீட்டர்களைக் கண்டறிதல்).
- ஸ்கிக்கிட்-லேர்ன் எஸ்டிமேட்டர்கள் பெரும்பாலும் ஒரு முன்னரே வரையறுக்கப்பட்ட அளவீட்டைப் பயன்படுத்தும் ஒரு இயல்புநிலை
score()முறையைக் கொண்டுள்ளன (எ.கா., வகைப்படுத்துபவர்களுக்கு துல்லியம், பின்னடைவுகளுக்கு R²). cross_val_scoreஅல்லதுGridSearchCVபோன்ற பயன்பாடுகள் ஒருscoringஅளவுருவை ஏற்கின்றன, இது ஒரு சரம் (முன்னரே வரையறுக்கப்பட்ட அளவீட்டைக் குறிக்கும்) அல்லது ஒரு அழைக்கக்கூடிய பொருள் (ஒரு தனிப்பயன் மதிப்பெண் செயல்பாடு) ஆக இருக்கலாம்.
ஆகவே, ஒரு அளவீடு என்பது இறுதி கணக்கீடு என்றாலும், ஒரு மதிப்பெண்ணாளர் (scorer) என்பது அந்த அளவீட்டை தொடர்ந்து பயன்படுத்துவதற்கு வசதியளிக்கும் ஒரு பொறிமுறை அல்லது மறைப்பாகும், குறிப்பாக ஒரு தானியங்கு மதிப்பீட்டு குழாய்த்திட்டத்திற்குள்.
முக்கிய வேறுபாடு
சுருக்கமாக:
- ஒரு அளவீடு என்பது சூத்திரம் அல்லது கணக்கீடு ஆகும் (எ.கா., "துல்லியத்தைக் கணக்கிடு").
- ஒரு மதிப்பெண்ணாளர் (scorer) என்பது ஒரு அளவீட்டைப் பயன்படுத்தி ஒரு செயல்திறன் மதிப்பை உருவாக்கும் ஒரு செயல்பாடு அல்லது முறையாகும், பெரும்பாலும் மாதிரி பயிற்சி மற்றும் தேர்வு பணிகளுக்கான ஒரு தரப்படுத்தப்பட்ட வழியில் (எ.கா.,
model.score(X_test, y_test)அல்லதுcross_val_score(model, X, y, scoring='f1_macro')).
இதைப் புரிந்துகொள்வதன் மூலம், ஒரு குறிப்பிட்ட சிக்கலில் உங்கள் மாதிரியின் செயல்திறனைப் புரிந்துகொள்ள சரியான அளவீட்டை நீங்கள் தேர்வு செய்கிறீர்கள், மேலும் மாதிரி பயிற்சி, தேர்வு அல்லது ஹைபர்பாராமீட்டர் மேம்படுத்தல் போன்ற சமயங்களில் அந்த மதிப்பீட்டை தானியங்குபடுத்த வேண்டியிருக்கும் போது பொருத்தமான மதிப்பெண் செயல்பாட்டைப் பயன்படுத்துகிறீர்கள்.
பைதான் ML இல் முக்கிய மதிப்பீட்டு அளவீடுகள்
பைதானின் செழுமையான சுற்றுச்சூழல் அமைப்பு, குறிப்பாக ஸ்கிக்கிட்-லேர்ன், பல்வேறு ML பணிகளுக்கான விரிவான அளவீடுகளை வழங்குகிறது. சரியான அளவீட்டைத் தேர்ந்தெடுப்பது பிரச்சனை வகை, உங்கள் தரவின் தன்மை மற்றும் வணிக நோக்கங்களைப் பொறுத்தது.
வகைப்படுத்துதல் அளவீடுகள்
வகைப்படுத்துதல் மாதிரிகள் வகை சார்ந்த முடிவுகளை கணிக்கின்றன. அவற்றை மதிப்பிடுவதற்கு கவனமாக பரிசீலிக்க வேண்டும், குறிப்பாக சமமற்ற தரவுத்தொகுப்புகளுடன்.
-
துல்லியம் மதிப்பெண் (Accuracy Score):
- விளக்கம்: சரியாகக் கணிக்கப்பட்ட அவதானிப்புகளுக்கும் மொத்த அவதானிப்புகளுக்கும் இடையிலான விகிதம்.
- சூத்திரம்: (உண்மையான நேர்மறைகள் + உண்மையான எதிர்மறைகள்) / மொத்த அவதானிப்புகள்
- எப்போது பயன்படுத்த வேண்டும்: வகுப்புகள் நன்கு சமநிலையில் இருக்கும்போது முதன்மையாகப் பயன்படுத்தவும்.
- எச்சரிக்கைகள்: சமமற்ற தரவுத்தொகுப்புகளுக்கு தவறாக வழிநடத்தலாம். எடுத்துக்காட்டாக, 5% நோயாளிகள் மட்டுமே உள்ள ஒரு தரவுத்தொகுதியில் "நோய் இல்லை" என்று 95% நேரம் கணிக்கும் ஒரு மாதிரிக்கு 95% துல்லியம் இருக்கும், ஆனால் அது எந்த நோயாளிகளையும் அடையாளம் காணத் தவறிவிடுகிறது.
-
குழப்ப அணி (Confusion Matrix):
- விளக்கம்: உண்மையான மதிப்புகள் அறியப்பட்ட ஒரு சோதனைத் தரவுத் தொகுப்பில் ஒரு வகைப்படுத்துதல் மாதிரியின் செயல்திறனை விவரிக்கும் ஒரு அட்டவணை. இது கணிப்புகளை உண்மையான நேர்மறைகள் (TP), உண்மையான எதிர்மறைகள் (TN), தவறான நேர்மறைகள் (FP) மற்றும் தவறான எதிர்மறைகள் (FN) எனப் பிரிக்கிறது.
- எப்போது பயன்படுத்த வேண்டும்: எப்போதும்! இது பல அளவீடுகளுக்கான அடிப்படை கட்டுமானத் தொகுதியாகும், மேலும் கணிப்புப் பிழைகளின் தெளிவான படத்தையும் வழங்குகிறது.
-
துல்லியத்தன்மை, மறுஅழைப்பு மற்றும் F1-மதிப்பெண் (Precision, Recall, and F1-Score):
- விளக்கம்: குழப்ப அணியிலிருந்து பெறப்பட்டது.
- துல்லியத்தன்மை (Precision): (TP / (TP + FP)) – அனைத்து நேர்மறை கணிப்புகளிலும், எத்தனை உண்மையில் சரியானவை? ஒரு தவறான நேர்மறையின் செலவு அதிகமாக இருக்கும்போது பயனுள்ளதாக இருக்கும் (எ.கா., ஸ்பேம் கண்டறிதல்).
- மறுஅழைப்பு (Recall - உணர்திறன்): (TP / (TP + FN)) – அனைத்து உண்மையான நேர்மறைகளிலும், எத்தனை சரியாக அடையாளம் காணப்பட்டன? ஒரு தவறான எதிர்மறையின் செலவு அதிகமாக இருக்கும்போது பயனுள்ளதாக இருக்கும் (எ.கா., நோய் கண்டறிதல்).
- F1-மதிப்பெண் (F1-Score): (2 * துல்லியத்தன்மை * மறுஅழைப்பு) / (துல்லியத்தன்மை + மறுஅழைப்பு) – துல்லியத்தன்மை மற்றும் மறுஅழைப்பின் ஹார்மோனிக் சராசரி. குறிப்பாக சீரற்ற வகுப்புப் பரவலுடன், துல்லியத்தன்மை மற்றும் மறுஅழைப்புக்கு இடையே ஒரு சமநிலை தேவைப்படும்போது பயனுள்ளதாக இருக்கும்.
- எப்போது பயன்படுத்த வேண்டும்: சமமற்ற தரவுத்தொகுப்புகளுக்கு அல்லது வெவ்வேறு வகையான பிழைகளுக்கு வெவ்வேறு செலவுகள் இருக்கும்போது அவசியம்.
- ஸ்கிக்கிட்-லேர்ன் (Scikit-learn):
sklearn.metrics.precision_score,recall_score,f1_score, மற்றும்classification_report(இது ஒவ்வொரு வகுப்பிற்கும் துல்லியம் மற்றும் ஆதரவுடன் இந்த மூன்றையும் வழங்குகிறது).
- விளக்கம்: குழப்ப அணியிலிருந்து பெறப்பட்டது.
-
ROC AUC மதிப்பெண் (Receiver Operating Characteristic - Area Under the Curve):
- விளக்கம்: True Positive Rate (TPR/மறுஅழைப்பு) ஐ False Positive Rate (FPR) க்கு எதிராக பல்வேறு வரம்பு அமைப்புகளில் வரைகிறது. AUC என்பது வகுப்புகளுக்கு இடையே உள்ள பிரித்தறியும் தன்மையின் அளவு அல்லது அளவீட்டைக் குறிக்கிறது. அதிக AUC என்பது மாதிரி நேர்மறை மற்றும் எதிர்மறை வகுப்புகளுக்கு இடையே சிறப்பாக வேறுபடுத்துகிறது என்பதைக் குறிக்கிறது.
- எப்போது பயன்படுத்த வேண்டும்: பைனரி வகைப்படுத்துதல் சிக்கல்களுக்கு, குறிப்பாக சமமற்ற வகுப்புகளுடன், இது சாத்தியமான அனைத்து வகைப்படுத்துதல் வரம்புகளிலும் ஒரு மொத்த அளவீட்டை வழங்குகிறது. ஒரு மாதிரி எதிர்மறை நிகழ்வுகளை விட நேர்மறை நிகழ்வுகளை எவ்வளவு சிறப்பாக வரிசைப்படுத்த முடியும் என்பதை நீங்கள் புரிந்துகொள்ள வேண்டியிருக்கும் போது பயனுள்ளதாக இருக்கும்.
- எச்சரிக்கைகள்: பல வகுப்பு சிக்கல்களுக்கு குறைவான உள்ளுணர்வு (நீட்டிப்புகள் இருந்தாலும்) மற்றும் உகந்த வரம்பைச் சொல்லாது.
-
லாக் லாஸ் (Log Loss - லாஜிஸ்டிக் லாஸ் / கிராஸ்-என்ட்ரோபி லாஸ்):
- விளக்கம்: கணிப்பு உள்ளீடு 0 மற்றும் 1 க்கு இடையில் ஒரு நிகழ்தகவு மதிப்பு கொண்ட ஒரு வகைப்படுத்துதல் மாதிரியின் செயல்திறனை அளவிடுகிறது. இது அதிக நம்பிக்கையுடன் செய்யப்படும் தவறான வகைப்படுத்தல்களைத் தண்டிக்கிறது.
- எப்போது பயன்படுத்த வேண்டும்: உங்களுக்கு நன்கு அளவிடப்பட்ட நிகழ்தகவுகள் தேவைப்படும்போது, வெறும் சரியான வகுப்பு லேபிள்கள் அல்ல. பல வகுப்பு வகைப்படுத்துதல் மற்றும் நிகழ்தகவுகளை வெளியிடும் மாதிரிகளுக்கு பயனுள்ளதாக இருக்கும்.
- எச்சரிக்கைகள்: துல்லியத்தை விட விளக்க மிகவும் சிக்கலானது; வெளிப்படையானவை மற்றும் நம்பிக்கையான தவறான கணிப்புகளுக்கு உணர்திறன் கொண்டது.
-
ஜக்கார்ட் குறியீடு (Jaccard Index - யூனியன் மீது வெட்டு):
- விளக்கம்: இரண்டு வரையறுக்கப்பட்ட மாதிரித் தொகுப்புகளுக்கு இடையிலான ஒற்றுமையை அளவிடுகிறது. வகைப்படுத்துதலுக்கு, இது கணிக்கப்பட்ட மற்றும் உண்மையான லேபிள் தொகுப்புகளின் யூனியனின் அளவால் வகுக்கப்பட்ட வெட்டின் அளவு என வரையறுக்கப்படுகிறது.
- எப்போது பயன்படுத்த வேண்டும்: குறிப்பாக படப் பிரிவில் (கணிக்கப்பட்ட முகமூடிகளை உண்மையான தரவுகளுடன் ஒப்பிடுதல்) அல்லது ஒவ்வொரு நிகழ்வும் பல வகைகளில் சேர்க்கப்படக்கூடிய பல-லேபிள் வகைப்படுத்துதலை மதிப்பிடும்போது பொதுவானது.
-
கப்பா மதிப்பெண் (Kappa Score - கோஹனின் கப்பா):
- விளக்கம்: இரண்டு மதிப்பீட்டாளர்களுக்கு இடையே உள்ள உடன்பாட்டையோ, அல்லது ML இல், மாதிரியின் கணிப்புகளுக்கும் உண்மையான லேபிள்களுக்கும் இடையே உள்ள உடன்பாட்டையோ அளவிடுகிறது, தற்செயலாக உடன்பாடு ஏற்படும் சாத்தியக்கூறுகளை கணக்கில் எடுத்துக்கொள்கிறது.
- எப்போது பயன்படுத்த வேண்டும்: பல வகுப்பு சிக்கல்களுக்கு, குறிப்பாக சமமற்ற தரவுத்தொகுப்புகளுடன், துல்லியம் தவறாக வழிநடத்தக்கூடியதாக இருக்கும்போது பயனுள்ளதாக இருக்கும். மதிப்புகள் -1 (முழுமையான கருத்து வேறுபாடு) முதல் 1 (சரியான உடன்பாடு) வரை இருக்கும், 0 தற்செயலான உடன்பாட்டைக் குறிக்கிறது.
பின்னடைவு அளவீடுகள்
பின்னடைவு மாதிரிகள் தொடர்ச்சியான எண் மதிப்புகளை கணிக்கின்றன. அவற்றை மதிப்பிடுவது கணிப்பு பிழைகளின் அளவை மையமாகக் கொண்டது.
-
சராசரி முழுமையான பிழை (Mean Absolute Error - MAE):
- விளக்கம்: கணிக்கப்பட்ட மற்றும் உண்மையான மதிப்புகளுக்கு இடையிலான முழுமையான வேறுபாடுகளின் சராசரி. அனைத்து தனிப்பட்ட பிழைகளும் சமமாக எடைபோடப்படுகின்றன.
- சூத்திரம்:
(1/n) * Σ|y_true - y_pred| - எப்போது பயன்படுத்த வேண்டும்: இலக்கு மாறியின் அதே அலகுகளில் பிழைகளை விளக்க விரும்பும்போதும், மற்றும் வெளிப்படையான பிழைகளுக்கு (அதாவது, பெரிய பிழைகளுக்கு குறைவான உணர்திறன் கொண்டது) வலுவான ஒரு அளவீடு தேவைப்படும்போதும்.
-
சராசரி இருபடி பிழை (Mean Squared Error - MSE) / வர்க்க சராசரி இருபடி பிழை (Root Mean Squared Error - RMSE):
- விளக்கம்:
- MSE: கணிக்கப்பட்ட மற்றும் உண்மையான மதிப்புகளுக்கு இடையிலான இருபடி வேறுபாடுகளின் சராசரி. சிறிய பிழைகளை விட பெரிய பிழைகளை அதிக அளவில் தண்டிக்கிறது.
- RMSE: MSE இன் வர்க்க மூலம். இது பிழையை இலக்கு மாறியின் அசல் அலகுகளுக்கு மாற்றுகிறது, இது MSE ஐ விட விளக்கக்கூடியதாக அமைகிறது.
- சூத்திரம்:
- MSE:
(1/n) * Σ(y_true - y_pred)² - RMSE:
√(MSE)
- MSE:
- எப்போது பயன்படுத்த வேண்டும்: பெரிய பிழைகள் விகிதாசாரமற்ற முறையில் அதிக விரும்பத்தகாததாக இருக்கும்போது. பிழைகள் சாதாரணமாக விநியோகிக்கப்படும் என்று எதிர்பார்க்கப்படும்போது பொதுவாகப் பயன்படுத்தப்படுகிறது.
- விளக்கம்:
-
R-சதுரம் (R²) / தீர்மானிக்கும் குணகம் (Coefficient of Determination):
- விளக்கம்: சார்பு மாறியின் மாறுபாட்டின் விகிதத்தைக் குறிக்கிறது, இது சார்பற்ற மாறி(கள்) இலிருந்து கணிக்கப்படக்கூடியது. இது 0 முதல் 1 வரை இருக்கும், இதில் 1 என்பது மாதிரி அதன் சராசரியைச் சுற்றியுள்ள பதில் தரவின் அனைத்து மாறுபாட்டையும் விளக்குகிறது என்பதைக் குறிக்கிறது.
- சூத்திரம்:
1 - (SSR / SST)இங்கு SSR என்பது இருபடி எச்சங்களின் கூட்டுத்தொகை மற்றும் SST என்பது மொத்த இருபடி கூட்டுத்தொகை. - எப்போது பயன்படுத்த வேண்டும்: உங்கள் இலக்கு மாறியின் மாறுபாட்டில் உங்கள் மாதிரி எவ்வளவு விளக்க முடியும் என்பதைப் புரிந்துகொள்ள. பொதுவான மாதிரி பொருத்த மதிப்பீட்டிற்கு நல்லது.
- எச்சரிக்கைகள்: நீங்கள் அதிகமான அம்சங்களைச் சேர்த்தால் தவறாக வழிநடத்தலாம் (அது எப்போதும் அதிகரிக்கும் அல்லது அப்படியே இருக்கும்). வெவ்வேறு எண்ணிக்கையிலான கணிப்பாளர்களுடன் மாதிரிகளை ஒப்பிடுவதற்கு சரிசெய்யப்பட்ட R² (Adjusted R²) ஐப் பயன்படுத்தவும்.
-
மீடியன் முழுமையான பிழை (Median Absolute Error):
- விளக்கம்: கணிப்புகள் மற்றும் உண்மையான மதிப்புகளுக்கு இடையிலான அனைத்து முழுமையான வேறுபாடுகளின் மீடியன்.
- எப்போது பயன்படுத்த வேண்டும்: MAE ஐப் போலவே, இது வெளிப்படையான பிழைகளுக்கு மிகவும் வலுவானது, MAE ஐ விட அதிகமாகும், ஏனெனில் மீடியன் கணக்கீடு தீவிர மதிப்புகளால் குறைவாகவே பாதிக்கப்படுகிறது.
க்ளஸ்டரிங் அளவீடுகள்
க்ளஸ்டரிங் அல்காரிதம்கள் ஒத்த தரவுப் புள்ளிகளை ஒன்றாகக் குழுவாக்குகின்றன. அவற்றுடன் ஒப்பிடுவதற்கு பெரும்பாலும் 'உண்மையான தரவு' இல்லாததால், அவற்றை மதிப்பிடுவது சவாலாக இருக்கலாம். அளவீடுகள் பொதுவாக உள்ளார்ந்தவை (தரவு மற்றும் க்ளஸ்டர் ஒதுக்கீடுகளை மட்டுமே நம்பி).
-
சிலுயட் மதிப்பெண் (Silhouette Score):
- விளக்கம்: ஒரு பொருள் அதன் சொந்த க்ளஸ்டருக்கு (ஒற்றுமை) மற்ற க்ளஸ்டர்களுடன் (பிரிப்பு) ஒப்பிடுகையில் எவ்வளவு ஒத்திருக்கிறது என்பதை அளவிடுகிறது. இது -1 முதல் 1 வரை இருக்கும். அதிக மதிப்பு, பொருள் அதன் சொந்த க்ளஸ்டருக்கு நன்றாகப் பொருந்தி, அண்டை க்ளஸ்டர்களுக்கு மோசமாகப் பொருந்தி உள்ளது என்பதைக் குறிக்கிறது.
- எப்போது பயன்படுத்த வேண்டும்: உண்மையான தரவு லேபிள்கள் இல்லாதபோது க்ளஸ்டர்களின் தரத்தை மதிப்பிட. உகந்த க்ளஸ்டர்களின் எண்ணிக்கையைத் தீர்மானிக்க பயனுள்ளதாக இருக்கும்.
- எச்சரிக்கைகள்: பெரிய தரவுத்தொகுப்புகளுக்கு கணக்கீட்டு ரீதியாக விலை உயர்ந்ததாக இருக்கலாம். குவிந்த க்ளஸ்டர்களைக் கருதுகிறது.
-
டேவிஸ்-போல்டின் குறியீடு (Davies-Bouldin Index):
- விளக்கம்: க்ளஸ்டருக்குள் உள்ள தூரங்களுக்கும் க்ளஸ்டர்களுக்கு இடையேயான தூரங்களுக்கும் உள்ள விகிதம். குறைந்த மதிப்புகள் சிறந்த க்ளஸ்டரிங்கைக் குறிக்கின்றன (க்ளஸ்டர்கள் மிகவும் கச்சிதமானவை மற்றும் மேலும் விலகி உள்ளன).
- எப்போது பயன்படுத்த வேண்டும்: உகந்த க்ளஸ்டர்களின் எண்ணிக்கையை அடையாளம் காண.
- எச்சரிக்கைகள்: கோள க்ளஸ்டர்களுக்கு சார்புடையதாக இருக்கலாம்.
-
காலின்ஸ்கி-ஹாராபாஸ் குறியீடு (Calinski-Harabasz Index - மாறுபாடு விகித அளவுகோல்):
- விளக்கம்: க்ளஸ்டர்களுக்கு இடையேயான பரவல் மற்றும் க்ளஸ்டருக்குள் உள்ள பரவலின் கூட்டுத்தொகையின் விகிதம். அதிக மதிப்புகள் சிறந்த வரையறுக்கப்பட்ட க்ளஸ்டர்களைக் கொண்ட மாதிரிகளுக்கு ஒத்திருக்கும்.
- எப்போது பயன்படுத்த வேண்டும்: சிலுயட் மற்றும் டேவிஸ்-போல்டின் போன்றே, உகந்த க்ளஸ்டர்களின் எண்ணிக்கையைத் தீர்மானிக்க.
தரவரிசை மற்றும் பரிந்துரை அளவீடுகள்
தேடுபொறி முடிவுகள் அல்லது தயாரிப்பு பரிந்துரைகள் போன்ற கணிப்புகளின் வரிசை முக்கியத்துவம் வாய்ந்த அமைப்புகளுக்கு.
-
துல்லியத்தன்மை@k மற்றும் மறுஅழைப்பு@k (Precision@k and Recall@k):
- விளக்கம்: பரிந்துரைக்கப்பட்ட அல்லது மீட்டெடுக்கப்பட்ட முதல் 'k' பொருட்களுக்கான துல்லியத்தன்மை அல்லது மறுஅழைப்பை அளவிடுதல்.
- எப்போது பயன்படுத்த வேண்டும்: பயனர்கள் பொதுவாக முதல் சில பரிந்துரைகளுடன் மட்டுமே தொடர்பு கொள்ளும்போது.
-
NDCG (Normalized Discounted Cumulative Gain):
- விளக்கம்: முடிவுப் பட்டியலில் அதன் நிலையின் அடிப்படையில் ஒரு ஆவணத்தின் பயனை அல்லது ஆதாயத்தை அளவிடுகிறது. ஆதாயம் முடிவுப் பட்டியலின் மேலிருந்து கீழாகக் குவிக்கப்படுகிறது, ஒவ்வொரு முடிவின் ஆதாயமும் குறைந்த தரவரிசைகளில் தள்ளுபடி செய்யப்படுகிறது.
- எப்போது பயன்படுத்த வேண்டும்: பொருட்களின் பொருத்தம் மாறுபடும் மற்றும் நிலை முக்கியத்துவம் வாய்ந்த தேடுபொறிகள் அல்லது பரிந்துரை அமைப்புகளை மதிப்பிடுவதற்கு.
-
MAP (Mean Average Precision):
- விளக்கம்: ஒவ்வொரு வினவலுக்கான சராசரி துல்லியத்தன்மை (AP) மதிப்பெண்களின் சராசரி. AP என்பது தரவரிசைப்படுத்தப்பட்ட பட்டியலில் உள்ள ஒவ்வொரு பொருத்தமான உருப்படியிலும் உள்ள துல்லியத்தன்மை மதிப்புகளின் சராசரி.
- எப்போது பயன்படுத்த வேண்டும்: தரவரிசைப்படுத்தப்பட்ட பட்டியலின் துல்லியத்தன்மை மற்றும் மறுஅழைப்பு பண்புகள் இரண்டையும் கைப்பற்றும் ஒரு ஒற்றை-எண் அளவீடு, தகவல் மீட்டெடுப்பு அமைப்புகளை மதிப்பிடுவதற்கு நல்லது.
பைதான் ஸ்கிக்கிட்-லேர்னின் மதிப்பெண் செயல்பாடுகள்
ஸ்கிக்கிட்-லேர்ன் மாதிரி பயிற்சி மற்றும் மதிப்பீட்டிற்கான ஒரு ஒருங்கிணைந்த API ஐ வழங்குகிறது, இது ML பணிப்பாய்வுகளை தானியங்குபடுத்த நம்பமுடியாத அளவிற்கு சக்தி வாய்ந்தது. "மதிப்பெண்" என்ற கருத்து இந்த API க்கு ஒருங்கிணைந்ததாகும், குறிப்பாக குறுக்கு சரிபார்ப்பு மற்றும் ஹைபர்பாராமீட்டர் மேம்படுத்தல் தொடர்பான பணிகளுக்கு.
score() முறை
பெரும்பாலான ஸ்கிக்கிட்-லேர்ன் எஸ்டிமேட்டர்கள் (மாதிரிகள்) ஒரு இயல்புநிலை score(X, y) முறையுடன் வருகின்றன. இந்த முறை மாதிரியின் வகைக்கான முன்னரே வரையறுக்கப்பட்ட செயல்திறன் அளவீட்டை உள்நாட்டில் கணக்கிடுகிறது.
- வகைப்படுத்துபவர்களுக்கு (எ.கா.,
LogisticRegression,RandomForestClassifier),score()பொதுவாக துல்லியம் மதிப்பெண்ணை வழங்குகிறது. - பின்னடைவுகளுக்கு (எ.கா.,
LinearRegression,SVR),score()பொதுவாக R-சதுரம் (R²) மதிப்பெண்ணை வழங்குகிறது.
வசதியானது என்றாலும், இயல்புநிலை score() ஐ மட்டுமே நம்பியிருப்பது வரம்புக்குட்பட்டதாக இருக்கலாம், குறிப்பாக சமமற்ற வகைப்படுத்துதலுக்கு அல்லது உங்கள் வணிக நோக்கத்திற்காக வேறு முதன்மை அளவீடு தேவைப்படும்போது.
cross_val_score() மற்றும் cross_validate()
இந்த செயல்பாடுகள் வலுவான மாதிரி மதிப்பீட்டிற்கு அவசியம், ஒற்றை பயிற்சி-சோதனைப் பிரிவை விட மாதிரி செயல்திறனின் மிகவும் நம்பகமான மதிப்பீட்டை வழங்குகின்றன. அவை தரவின் வெவ்வேறு துணைத்தொகுப்புகளில் ஒரு மாதிரியை மீண்டும் மீண்டும் பயிற்சி செய்து சோதிக்கின்றன.
-
cross_val_score(estimator, X, y, scoring=None, cv=None):- குறுக்கு சரிபார்ப்பைச் செய்து, ஒவ்வொரு மடலிற்கும் ஒரு மதிப்பெண் கொண்ட மதிப்பெண்களின் வரிசையை வழங்குகிறது.
scoringஅளவுருவே "மதிப்பெண்ணாளர்" என்ற கருத்து முக்கியத்துவம் பெறுகிறது. நீங்கள் ஒரு சரத்தை (எ.கா.,'accuracy','f1_macro','neg_mean_squared_error') அல்லது ஒரு அழைக்கக்கூடிய மதிப்பெண்ணாளர் பொருளை அனுப்பலாம். ஸ்கிக்கிட்-லேர்ன் முன்னரே வரையறுக்கப்பட்ட மதிப்பெண் சரங்களின் பட்டியலை பராமரிக்கிறது.- பின்னடைவுக்கு, MSE போன்ற அளவீடுகள் பொதுவாக *பிழைகள்* ஆகும், இதில் குறைவாக இருப்பது நல்லது. ஸ்கிக்கிட்-லேர்னின் மதிப்பெண் செயல்பாடுகள் பெரும்பாலும் "அதிகமானது நல்லது" என்ற அளவீடுகளை எதிர்பார்க்கின்றன, எனவே பிழை அளவீடுகள் அதிகபட்சமாக்க
'neg_'(எ.கா.,'neg_mean_squared_error') உடன் முன்னொட்டப்படுகின்றன.
-
cross_validate(estimator, X, y, scoring=None, cv=None, return_train_score=False):- பல மதிப்பெண்களை (பல்வேறு அளவீடுகளுக்கான பயிற்சி மற்றும் சோதனை மதிப்பெண்கள்), பொருத்தும் நேரங்கள் மற்றும் மதிப்பெண் நேரங்களை வழங்கக்கூடிய ஒரு விரிவான பதிப்பு.
scoringஅளவுரு ஒரே நேரத்தில் பல அளவீடுகளைப் பயன்படுத்தி மாதிரியை மதிப்பிடுவதற்கு மதிப்பெண் சரங்களின் பட்டியல் அல்லது அகராதியை ஏற்கலாம். செயல்திறனின் ஒரு முழுமையான பார்வையைப் பெறுவதற்கு இது நம்பமுடியாத அளவிற்கு பயனுள்ளதாக இருக்கும்.
make_scorer உடன் தனிப்பயன் மதிப்பெண் செயல்பாடுகள்
உங்கள் விரும்பிய மதிப்பீட்டு அளவீடு ஸ்கிக்கிட்-லேர்னில் ஒரு முன்னரே வரையறுக்கப்பட்ட மதிப்பெண் சரமாக நேரடியாகக் கிடைக்கவில்லை என்றால் என்ன செய்வது? அல்லது ஒரு அளவீட்டுச் செயல்பாட்டிற்கு குறிப்பிட்ட அளவுருக்களை (எ.கா., F1-மதிப்பெண்ணுக்கான சராசரி உத்தி) அனுப்ப வேண்டியிருந்தால் என்ன செய்வது?
ஸ்கிக்கிட்-லேர்னின் sklearn.metrics.make_scorer செயல்பாடு எந்த அளவீட்டுச் செயல்பாட்டிலிருந்தும் தனிப்பயன் மதிப்பெண் பொருட்களை உருவாக்க உங்களை அனுமதிக்கிறது. துல்லியமான வணிகத் தேவைகளுக்கு மதிப்பீட்டை வடிவமைக்க இது நம்பமுடியாத அளவிற்கு சக்தி வாய்ந்தது.
ஒரு தனிப்பயன் மதிப்பெண்ணாளரை உருவாக்கும்போது, நீங்கள் பொதுவாக அனுப்புவது:
- அளவீட்டு செயல்பாடு (எ.கா.,
f1_score,accuracy_score). greater_is_better=True(இயல்புநிலை) அல்லதுFalse, அளவீட்டின் அதிக மதிப்பு சிறப்பாக (எ.கா., துல்லியம்) அல்லது மோசமாக (எ.கா., MAE) உள்ளதா என்பதைப் பொறுத்து.- அளவீட்டு செயல்பாட்டிற்கான எந்த கூடுதல் அளவுருக்கள் (எ.கா.,
f1_scoreக்கானaverage='weighted'). needs_proba=Trueஅல்லதுneeds_threshold=True, உங்கள் அளவீட்டுச் செயல்பாட்டிற்கு கடினமான கணிப்புகளுக்குப் பதிலாக நிகழ்தகவு மதிப்பீடுகள் அல்லது முடிவெடுக்கும் செயல்பாட்டின் வெளியீடு தேவைப்பட்டால்.
இந்த நெகிழ்வுத்தன்மை உங்கள் மதிப்பீடு சிக்கலின் நுணுக்கங்களுடன் சரியாக ஒத்துப்போகிறது என்பதை உறுதி செய்கிறது, மருத்துவ நோயறிதல்களில் தவறான எதிர்மறைகளைக் குறைப்பது அல்லது மோசடி கண்டறிதலில் துல்லியத்தை அதிகப்படுத்துவது போன்ற உண்மையிலேயே முக்கியத்துவம் வாய்ந்த குறிப்பிட்ட விளைவுகளுக்காக மேம்படுத்த உங்களை அனுமதிக்கிறது.
நடைமுறை பயன்பாடு: எதை எப்போது பயன்படுத்த வேண்டும்
அளவீடுகள் மற்றும் மதிப்பெண்களுக்கு இடையிலான வேறுபாடு நடைமுறை ML பணிப்பாய்வுகளில் மிகவும் தெளிவாகத் தெரிகிறது. இங்கே ஒரு விளக்கம்:
மாதிரி தேர்வு மற்றும் ஹைபர்பாராமீட்டர் ட்யூனிங்
சிறந்த மாதிரியையோ அல்லது உகந்த ஹைபர்பாராமீட்டர் தொகுப்பையோ (எ.கா., GridSearchCV, RandomizedSearchCV, அல்லது தானியங்கு ML கருவிகளைப் பயன்படுத்தி) நீங்கள் கண்டறிய முயற்சிக்கும்போது, பொதுவாக மதிப்பெண் செயல்பாடுகளை நம்பியிருக்கிறீர்கள். இந்த செயல்பாடுகள் தேடல் செயல்முறையை வழிநடத்த அதிகப்படுத்தக்கூடிய (அல்லது குறைக்கக்கூடிய) ஒரு ஒற்றை, நிலையான மதிப்பை வழங்குகின்றன.
- உதாரணமாக, அனைத்து மோசடி பரிவர்த்தனைகளையும் கண்டறிவது மிக முக்கியத்துவம் வாய்ந்த (அதிக மறுஅழைப்பு) ஒரு மோசடி கண்டறிதல் சூழ்நிலையில், நீங்கள் உங்கள்
GridSearchCVஇல்scoring='recall'ஐ அமைக்கலாம், மாதிரி குறிப்பாக மறுஅழைப்புக்காக மேம்படுத்தப்பட, அது சில துல்லியத்தன்மையை தியாகம் செய்ய நேர்ந்தாலும் கூட. - பின்னடைவுக்கு, MAE ஐக் குறைக்கும் ஹைபர்பாராமீட்டர்களைக் கண்டறிய நீங்கள்
scoring='neg_mean_absolute_error'ஐப் பயன்படுத்தலாம். - உங்கள் வணிக இலக்கு துல்லியத்தன்மை மற்றும் மறுஅழைப்புக்கு இடையே ஒரு சமநிலையாக இருந்தால்,
scoring='f1_macro'அல்லது'f1_weighted'பல-வகுப்பு சிக்கல்களுக்கு பொருத்தமாக இருக்கும்.
செயல்திறன் அறிக்கை மற்றும் வணிக தாக்கம்
ஒரு மாதிரியைத் தேர்ந்தெடுத்து சரிசெய்தவுடன், அதன் செயல்திறனை நீங்கள் தெரிவிக்க வேண்டும். இங்கே, மாதிரியின் நடத்தையைப் பற்றிய ஒரு விரிவான, பலதரப்பட்ட பார்வையை வழங்க நீங்கள் தனிப்பட்ட அளவீடுகளைப் பயன்படுத்துகிறீர்கள். ஒரு ஒற்றை மதிப்பெண் மதிப்பு மேம்படுத்தலுக்கு போதுமானதாக இருக்கலாம், ஆனால் அது பங்குதாரர்களுக்கு முழு கதையையும் அரிதாகவே சொல்கிறது.
- ஒரு உலகளாவிய இ-காமர்ஸ் நிறுவனம் ஒட்டுமொத்த துல்லியத்தை மட்டுமல்லாமல், பல்வேறு வகையான வாடிக்கையாளர் வெளியேற்றத்தைக் (தன்னார்வ vs கட்டாய) கண்டறிவதற்கான துல்லியத்தன்மை மற்றும் மறுஅழைப்பையும் தெரிவிக்க வேண்டியிருக்கலாம், தலையீடுகள் பிராந்தியங்கள் முழுவதும் திறம்பட வடிவமைக்கப்படுவதை உறுதிசெய்தல்.
- ஒரு சுகாதார வழங்குநர் ஒரு அரிய நோயின் எத்தனை வழக்குகள் கண்டறியப்படுகின்றன என்பதைக் காட்ட உணர்திறன் (மறுஅழைப்பு) தெரிவிக்கலாம், அத்துடன் எத்தனை ஆரோக்கியமான நோயாளிகள் சரியாக அடையாளம் காணப்படுகிறார்கள் என்பதைக் காட்ட தனித்தன்மையையும் (உண்மையான எதிர்மறை விகிதம்) தெரிவிக்கலாம்.
- ஒரு முன்னறிவிப்பு மாதிரிக்கு, MAE மற்றும் RMSE பணவியல் அடிப்படையில் சராசரி கணிப்புப் பிழையைப் பற்றிய ஒரு யோசனையை வழங்குகின்றன, இது நிதி குழுக்களால் நேரடியாக விளக்கக்கூடியது.
ஒரு பங்குதாரர் உண்மையில் என்ன தெரிந்து கொள்ள வேண்டும் என்பதைக் எப்போதும் கருத்தில் கொள்ளுங்கள். பெரும்பாலும், ஒரு தெளிவான முறையில் (எ.கா., ஒரு வகைப்படுத்துதல் அறிக்கை மூலம் அல்லது ஒரு குழப்ப அணி மூலம் காட்சி ரீதியாக) வழங்கப்பட்ட அளவீடுகளின் கலவையானது ஒற்றை எண்ணை விட அதிக மதிப்பு வாய்ந்தது.
பிழைத்திருத்தம் மற்றும் மாதிரி மேம்பாடு
ஒரு மாதிரி எதிர்பார்த்தபடி செயல்படாதபோது, பல்வேறு அளவீடுகளை ஆழமாக ஆராய்வது அது எங்கு தோல்வியடைகிறது என்பதைக் கண்டறிய உதவும்.
- பல-வகுப்பு சிக்கலில் ஒரு குறிப்பிட்ட வகுப்பிற்கான குறைந்த மறுஅழைப்பு (
classification_reportஆல் வெளிப்படுத்தப்பட்டது) மாதிரி அந்த வகுப்பின் நிகழ்வுகளை அடையாளம் காண சிரமப்படுகிறது என்பதைக் குறிக்கிறது. இது தரவு சமநிலையின்மை, அம்ச பொறியியல் அல்லது வெவ்வேறு மாதிரி கட்டமைப்புகள் பற்றிய விசாரணையைத் தூண்டலாம். - குழப்ப அணியை பகுப்பாய்வு செய்வது பொதுவான தவறான வகைப்படுத்தல்களின் குறிப்பிட்ட வகைகளை வெளிப்படுத்தலாம். தவறான நேர்மறைகள் அல்லது தவறான எதிர்மறைகளில் வடிவங்கள் உள்ளதா?
- பின்னடைவுக்கு, எஞ்சியவற்றை (உண்மையான - கணிக்கப்பட்ட மதிப்புகள்) வரைவது பிழைகள் முறையானதா (எ.கா., தொடர்ந்து அதிக மதிப்புகளை குறைத்து மதிப்பிடுதல்) அல்லது பன்முக சிதறல் (பிழைகள் கணிக்கப்பட்ட மதிப்புடன் மாறுபடும்) உள்ளதா என்பதைக் காட்டலாம்.
பல்வேறு பங்குதாரர்களுக்கான முடிவுகளை விளக்குதல்
ML மாதிரி செயல்திறனைத் தொடர்புகொள்வது ஒரு முக்கியமான திறமையாகும், குறிப்பாக உலகளாவிய சூழலில். வெவ்வேறு பங்குதாரர்களுக்கு வெவ்வேறு அளவிலான தொழில்நுட்பப் புரிதலும் வெவ்வேறு முன்னுரிமைகளும் இருக்கும்.
- தொழில்நுட்பக் குழுக்கள் (ML பொறியாளர்கள், தரவு அறிவியலாளர்கள்): துல்லியத்தன்மை, மறுஅழைப்பு, F1, ROC AUC போன்றவற்றை புரிந்து கொள்வார்கள், மேலும் ஒவ்வொன்றின் நுட்பமான தாக்கங்களையும் பாராட்டுவார்கள்.
- வணிகத் தலைவர்கள்/தயாரிப்பு மேலாளர்கள்: பெரும்பாலும் வணிக மதிப்புக்கு நேரடியாக மொழிபெயர்க்கப்படும் அளவீடுகளில் கவனம் செலுத்துவார்கள்: வருவாய் உயர்வு, செலவு சேமிப்பு, வாடிக்கையாளர் தக்கவைப்பு விகிதங்கள், செயல்பாட்டுத் திறன். இவை முக்கிய ML அளவீடுகளிலிருந்து பெறப்பட்டதாகவோ அல்லது அவற்றுடன் தொடர்புடையதாகவோ இருக்கலாம், ஆனால் வணிகத்தை மையமாகக் கொண்ட முறையில் முன்வைக்கப்படும். உதாரணமாக, வெறும் "மோசடிக்கு அதிக மறுஅழைப்பு" என்பதற்குப் பதிலாக, அது "மோசடியைத் தடுப்பதன் மூலம் $X மில்லியன் சேமிக்கப்பட்டது" என்று இருக்கலாம்.
- இணக்கம்/சட்டக் குழுக்கள்: நேர்மை, சார்பு மற்றும் விளக்கத்தன்மை குறித்து கவலைப்படலாம். மாதிரி குறிப்பிட்ட குழுக்களுக்கு எதிராக பாகுபாடு காட்டவில்லை என்பதற்கும், அதன் முடிவுகள் நியாயப்படுத்தப்படலாம் என்பதற்கும் அவர்கள் உறுதிமொழிகளை விரும்புவார்கள். நேர்மை அளவீடுகள் (கீழே விவாதிக்கப்பட்டுள்ளது) முக்கியமானதாக மாறும்.
தொழில்நுட்ப அளவீடுகளுக்கும் நிஜ உலக தாக்கத்திற்கும் இடையிலான இடைவெளியைக் குறைப்பது சவாலாகும், ஒவ்வொரு பார்வையாளருக்கும் சரியான மொழி மற்றும் காட்சிகளைப் பயன்படுத்துவதன் மூலம்.
உலகளாவிய ML திட்டங்களுக்கான மேம்பட்ட பரிசீலனைகள்
உலகளவில் ML மாதிரிகளைப் பயன்படுத்துவது தொழில்நுட்ப செயல்திறனுக்கு அப்பாற்பட்ட சிக்கலான அடுக்குகளை அறிமுகப்படுத்துகிறது. வலுவான மதிப்பீடு நெறிமுறைப் பரிசீலனைகள், தரவு இயக்கவியல் மற்றும் வள மேலாண்மை வரை நீட்டிக்கப்பட வேண்டும்.
நேர்மை மற்றும் சார்பு மதிப்பீடு
ஒரு பிராந்தியம் அல்லது மக்கள்தொகை குழுவின் தரவுகளில் பயிற்சி பெற்ற ஒரு மாதிரி, மற்றொரு குழுவிற்கு எதிராக மோசமாக செயல்படலாம் அல்லது நியாயமற்ற முறையில் பாகுபாடு காட்டலாம். உலகளாவிய பயன்பாட்டிற்கு இது ஒரு முக்கியமான கவலையாகும்.
- மாறுபட்ட தாக்கம் (Disparate Impact): மாதிரியின் பிழை விகிதம் வெவ்வேறு பாதுகாக்கப்பட்ட குழுக்களிடையே (எ.கா., இனம், பாலினம், சமூகப் பொருளாதார நிலை) குறிப்பிடத்தக்க அளவில் வேறுபடுகிறதா?
- நேர்மை அளவீடுகள் (Fairness Metrics): நிலையான செயல்திறன் அளவீடுகளுக்கு அப்பால், சம வாய்ப்பு வேறுபாடு, சராசரி முரண்பாடுகள் வேறுபாடு அல்லது மக்கள்தொகை சமத்துவம் போன்ற அளவீடுகளைக் கருத்தில் கொள்ளுங்கள். மாதிரி வெவ்வேறு குழுக்களை சமமாக நடத்துகிறதா என்பதை இவை மதிப்பிடுகின்றன.
- நேர்மைக்கான கருவிகள் (Tools for Fairness): கூகிளின் வாட்-இஃப் டூல் அல்லது மைக்ரோசாஃப்டின் ஃபேர்லேர்ன் (பைதானில்) போன்ற நூலகங்கள் சார்புகளை பகுப்பாய்வு செய்யவும் குறைக்கவும் உதவுகின்றன.
மக்கள்தொகை குழுக்கள் அல்லது புவியியல் பிராந்தியங்கள் மூலம் உங்கள் மதிப்பீட்டு அளவீடுகளைப் பிரிப்பது, ஒட்டுமொத்த துல்லியம் அல்லது F1-மதிப்பெண்ணில் வெளிப்படாத மறைக்கப்பட்ட சார்புகளைக் கண்டறிய அவசியம். உலகளவில் 90% துல்லியமாக இருந்தாலும், ஒரு குறிப்பிட்ட சிறுபான்மை குழுவிற்கு 50% மட்டுமே துல்லியமாக இருக்கும் ஒரு மாதிரி ஏற்றுக்கொள்ள முடியாதது.
தரவு சறுக்கல் மற்றும் கருத்து சறுக்கல் கண்காணிப்பு
மாறும் உலகளாவிய சூழலில், தரவு வடிவங்கள் காலப்போக்கில் மாறலாம். இது தரவு சறுக்கல் (உள்ளீட்டு தரவு பரவலில் மாற்றங்கள்) அல்லது கருத்து சறுக்கல் (உள்ளீடு மற்றும் வெளியீட்டு மாறிகளுக்கு இடையிலான உறவில் மாற்றங்கள்) என்று அழைக்கப்படுகிறது.
- தொடர்ச்சியான கண்காணிப்பு: புதிய, உள்வரும் தரவுகளில் உங்கள் மாதிரியின் செயல்திறனைத் தேர்ந்தெடுக்கப்பட்ட அளவீடுகளைப் பயன்படுத்தி தொடர்ந்து மறுமதிப்பீடு செய்யுங்கள்.
- எச்சரிக்கை அமைப்புகள்: செயல்திறன் அளவீடுகள் ஒரு குறிப்பிட்ட வரம்பிற்குக் கீழே குறைந்தால் அல்லது தரவுப் பரவல்கள் குறிப்பிடத்தக்க அளவில் மாறினால் எச்சரிக்கைகளை அமைக்கவும்.
- மறுபயிற்சி உத்திகள்: மாதிரிகள் காலவரையின்றி அல்லது குறிப்பிடத்தக்க சறுக்கல் கண்டறியப்படும்போது மறுபயிற்சி செய்வதற்கான உத்திகளைச் செயல்படுத்தவும், மாதிரிகள் பல்வேறு மற்றும் வளரும் உலகளாவிய சூழல்களில் பொருத்தமானதாகவும் செயல்படக்கூடியதாகவும் இருப்பதை உறுதி செய்யவும்.
வளக் கட்டுப்பாடுகள் மற்றும் கணக்கீட்டு திறன்
சில பிராந்தியங்களில் வரையறுக்கப்பட்ட கணக்கீட்டு வளங்கள் அல்லது அலைவரிசை இருக்கலாம். மாதிரி மற்றும் மதிப்பீட்டு உத்தியைத் தேர்ந்தெடுக்கும்போது இந்த நடைமுறை வரம்புகளைக் கருத்தில் கொள்ள வேண்டும்.
- ஊக நேரம் (Inference Time): மாதிரி எவ்வளவு விரைவாக ஒரு கணிப்பைச் செய்ய முடியும்? நிகழ்நேர பயன்பாடுகளுக்கு இது மிக முக்கியம்.
- மாதிரி அளவு (Model Size): மாதிரி எட்ஜ் சாதனங்களில் அல்லது வரையறுக்கப்பட்ட நினைவகத்துடன் கூடிய சூழல்களில் பயன்படுத்தப்பட முடியுமா?
- மதிப்பீட்டு செலவு (Evaluation Cost): முக்கியமானது என்றாலும், சில மதிப்பீட்டு அளவீடுகள் (எ.கா., க்ளஸ்டரிங்கிற்கான சிலுயட் மதிப்பெண்) மிக பெரிய தரவுத்தொகுப்புகளில் கணக்கீட்டு ரீதியாக தீவிரமானதாக இருக்கலாம். நடைமுறை சாத்தியக்கூறுகளுடன் முழுமையான தன்மையை சமநிலைப்படுத்துங்கள்.
நெறிமுறை AI மற்றும் விளக்கத்தன்மை (XAI)
எண்களுக்கு அப்பால், ஒரு மாதிரி ஏன் ஒரு குறிப்பிட்ட கணிப்பைச் செய்கிறது என்பதைப் புரிந்துகொள்வது பெருகிய முறையில் முக்கியமானது, குறிப்பாக அதிக பங்குகள் உள்ள பயன்பாடுகளிலும் உலகளவில் வெவ்வேறு ஒழுங்குமுறை சூழல்களிலும்.
- விளக்கத்தன்மை அளவீடுகள் (Explainability Metrics): நேரடி செயல்திறன் அளவீடுகள் இல்லாவிட்டாலும், XAI நுட்பங்கள் (SHAP, LIME போன்றவை) மாதிரி முடிவுகளை விளக்க உதவுகின்றன, நம்பிக்கையை வளர்க்கின்றன மற்றும் நெறிமுறை மதிப்பாய்வை செயல்படுத்துகின்றன.
- விளக்கக்கூடிய தன்மை (Interpretability): சிக்கலான பிளாக்-பாக்ஸ் மாதிரிகளுடன் அவற்றின் செயல்திறன் ஒப்பிடக்கூடியதாக இருக்கும்போது எளிய, விளக்கக்கூடிய மாதிரிகளை விரும்புவது ஒரு புத்திசாலித்தனமான தேர்வாக இருக்கலாம், குறிப்பாக சட்ட அல்லது நெறிமுறை மதிப்பாய்வு எதிர்பார்க்கப்படும்போது.
ML மதிப்பீட்டிற்கான பைதான் குறியீடு எடுத்துக்காட்டுகள்
இந்தக் கருத்துக்களில் சிலவற்றை கருத்தியல் பைதான் (ஸ்கிக்கிட்-லேர்ன்) எடுத்துக்காட்டுகளுடன் விளக்குவோம். இந்த துணுக்குகள் நீங்கள் ஒரு மாதிரியைப் பயிற்றுவித்திருக்கிறீர்கள் மற்றும் சோதனைத் தரவு (X_test, y_test) மற்றும் கணிப்புகளை (y_pred, y_proba) வைத்திருக்கிறீர்கள் என்று கருதுகின்றன.
import numpy as np
from sklearn.model_selection import train_test_split, cross_val_score, cross_validate
from sklearn.linear_model import LogisticRegression, LinearRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import (
accuracy_score, precision_score, recall_score, f1_score,
roc_auc_score, log_loss, confusion_matrix, classification_report,
mean_absolute_error, mean_squared_error, r2_score, make_scorer
)
# --- Sample Data (for demonstration) ---
# For Classification
X_clf = np.random.rand(100, 5) * 10
y_clf = np.random.randint(0, 2, 100) # Binary classification
# Introduce some imbalance for demonstration of metrics' importance
y_clf[80:] = 1 # 20 positive, 80 negative
X_clf_train, X_clf_test, y_clf_train, y_clf_test = train_test_split(
X_clf, y_clf, test_size=0.3, random_state=42, stratify=y_clf
)
# For Regression
X_reg = np.random.rand(100, 3) * 10
y_reg = 2 * X_reg[:, 0] + 0.5 * X_reg[:, 1] - 3 * X_reg[:, 2] + np.random.randn(100) * 5
X_reg_train, X_reg_test, y_reg_train, y_reg_test = train_test_split(
X_reg, y_reg, test_size=0.3, random_state=42
)
# --- 1. Classification Model Evaluation ---
print(f"\n--- Classification Model Evaluation ---")
clf_model = LogisticRegression(random_state=42, solver='liblinear')
clf_model.fit(X_clf_train, y_clf_train)
y_clf_pred = clf_model.predict(X_clf_test)
y_clf_proba = clf_model.predict_proba(X_clf_test)[:, 1] # Probability of positive class
print(f"Accuracy: {accuracy_score(y_clf_test, y_clf_pred):.4f}")
print(f"Precision: {precision_score(y_clf_test, y_clf_pred):.4f}")
print(f"Recall: {recall_score(y_clf_test, y_clf_pred):.4f}")
print(f"F1-Score: {f1_score(y_clf_test, y_clf_pred):.4f}")
print(f"ROC AUC: {roc_auc_score(y_clf_test, y_clf_proba):.4f}")
print(f"\nConfusion Matrix:\n{confusion_matrix(y_clf_test, y_clf_pred)}")
print(f"\nClassification Report:\n{classification_report(y_clf_test, y_clf_pred)}")
# Log Loss (requires probabilities)
try:
print(f"Log Loss: {log_loss(y_clf_test, y_clf_proba):.4f}")
except ValueError:
print("Log Loss: Probabilities needed for log loss.")
# --- 2. Regression Model Evaluation ---
print(f"\n--- Regression Model Evaluation ---")
reg_model = LinearRegression()
reg_model.fit(X_reg_train, y_reg_train)
y_reg_pred = reg_model.predict(X_reg_test)
print(f"MAE: {mean_absolute_error(y_reg_test, y_reg_pred):.4f}")
print(f"MSE: {mean_squared_error(y_reg_test, y_reg_pred):.4f}")
print(f"RMSE: {np.sqrt(mean_squared_error(y_reg_test, y_reg_pred)):.4f}")
print(f"R2 Score: {r2_score(y_reg_test, y_reg_pred):.4f}")
# --- 3. Using Scikit-learn Scoring Functions (cross_val_score) ---
print(f"\n--- Using Scikit-learn Scoring Functions ---")
# For Classification
clf_model_cv = RandomForestClassifier(random_state=42)
scores_accuracy = cross_val_score(clf_model_cv, X_clf, y_clf, cv=5, scoring='accuracy')
scores_f1 = cross_val_score(clf_model_cv, X_clf, y_clf, cv=5, scoring='f1_macro')
scores_roc_auc = cross_val_score(clf_model_cv, X_clf, y_clf, cv=5, scoring='roc_auc')
print(f"Cross-validated Accuracy (mean): {scores_accuracy.mean():.4f}")
print(f"Cross-validated F1-Macro (mean): {scores_f1.mean():.4f}")
print(f"Cross-validated ROC AUC (mean): {scores_roc_auc.mean():.4f}")
# For Regression
reg_model_cv = LinearRegression()
scores_neg_mse = cross_val_score(reg_model_cv, X_reg, y_reg, cv=5, scoring='neg_mean_squared_error')
scores_r2 = cross_val_score(reg_model_cv, X_reg, y_reg, cv=5, scoring='r2')
# Remember 'neg_mean_squared_error' is negative, so we convert back for interpretation
print(f"Cross-validated MSE (mean): {-scores_neg_mse.mean():.4f}")
print(f"Cross-validated R2 (mean): {scores_r2.mean():.4f}")
# --- 4. Custom Scorer with make_scorer ---
print(f"\n--- Custom Scorer with make_scorer ---")
# Let's say we want to optimize for recall of class 1 (positive class)
custom_recall_scorer = make_scorer(recall_score, pos_label=1, greater_is_better=True)
clf_model_custom_scorer = LogisticRegression(random_state=42, solver='liblinear')
cv_results_custom = cross_val_score(clf_model_custom_scorer, X_clf, y_clf, cv=5, scoring=custom_recall_scorer)
print(f"Cross-validated Custom Recall Score (mean): {cv_results_custom.mean():.4f}")
# Using cross_validate with multiple metrics
scoring_dict = {
'accuracy': 'accuracy',
'precision': make_scorer(precision_score, pos_label=1),
'recall': make_scorer(recall_score, pos_label=1),
'f1': 'f1_macro',
'roc_auc': 'roc_auc',
'neg_mse': 'neg_mean_squared_error' # For regression, just to show multiple types (will not be meaningful here)
}
# Note: This will run classification model with some regression metrics included for demonstration
cv_multiple_scores = cross_validate(
clf_model_cv, X_clf, y_clf, cv=5, scoring=scoring_dict, return_train_score=False
)
print(f"\nCross-validate with multiple metrics:")
for metric_name, scores in cv_multiple_scores.items():
if "test" in metric_name: # Focus on test scores
print(f" {metric_name}: {scores.mean():.4f}")
இந்த எடுத்துக்காட்டுகள் பைதான் ஸ்கிக்கிட்-லேர்ன், அடிப்படை அளவீட்டு கணக்கீடுகளிலிருந்து அதிநவீன, குறுக்கு சரிபார்ப்பு மதிப்பெண் மற்றும் தனிப்பயன் மதிப்பீட்டு உத்திகளுக்கு மாறுவதற்கான கருவிகளை எவ்வாறு வழங்குகிறது என்பதை எடுத்துக்காட்டுகிறது.
வலுவான ML மதிப்பீட்டிற்கான சிறந்த நடைமுறைகள்
உங்கள் ML மாதிரிகள் நம்பகமானவை, நியாயமானவை மற்றும் உலகளவில் தாக்கத்தை ஏற்படுத்துபவை என்பதை உறுதிப்படுத்த, இந்த சிறந்த நடைமுறைகளைக் கடைப்பிடிக்கவும்:
- எப்போதும் ஒரு பிரிக்கப்பட்ட சோதனைத் தொகுப்பைப் பயன்படுத்தவும்: உங்கள் மாதிரி பயிற்சியின் போது பார்த்த தரவுகளில் ஒருபோதும் மதிப்பிட வேண்டாம். ஒரு தனி, பார்க்கப்படாத சோதனைத் தொகுதி செயல்திறனின் ஒரு பக்கச்சார்பற்ற மதிப்பீட்டை வழங்குகிறது.
- நம்பகத்தன்மைக்கு குறுக்கு சரிபார்ப்பைப் பயன்படுத்தவும்: சிறிய தரவுத்தொகுப்புகளுக்கு அல்லது ஒரு நிலையான செயல்திறன் மதிப்பீட்டை நாடும்போது, k-மடிப்பு குறுக்கு சரிபார்ப்பைப் பயன்படுத்தவும். இது செயல்திறன் மதிப்பீட்டின் மாறுபாட்டைக் குறைக்கிறது.
- வணிக நோக்கத்தைக் கருத்தில் கொள்ளுங்கள்: உங்கள் வணிக இலக்குகளுடன் நேரடியாக ஒத்துப்போகும் அளவீடுகளைத் தேர்வு செய்யவும். F1-மதிப்பெண்ணை அதிகப்படுத்துவது ஒரு தொழில்நுட்ப அறிக்கைக்கு சிறப்பாக இருக்கலாம், ஆனால் தவறான நேர்மறைகளைக் குறைப்பதன் மூலம் X அளவு பணத்தைச் சேமிப்பது ஒரு CEO க்கு மிகவும் பொருத்தமாக இருக்கலாம்.
- பல அளவீடுகளுடன் மதிப்பிடவும்: ஒரு ஒற்றை அளவீடு அரிதாகவே முழு கதையையும் சொல்கிறது. உங்கள் மாதிரியின் பலம் மற்றும் பலவீனங்களைப் பற்றிய ஒரு விரிவான புரிதலைப் பெற தொடர்புடைய அளவீடுகளின் தொகுப்பைப் (எ.கா., வகைப்படுத்துதலுக்கு துல்லியம், துல்லியத்தன்மை, மறுஅழைப்பு, F1, ROC AUC) பயன்படுத்தவும்.
- உங்கள் முடிவுகளைக் காட்சிப்படுத்தவும்: குழப்ப அணிகள், ROC வளைவுகள், துல்லியத்தன்மை-மறுஅழைப்பு வளைவுகள் மற்றும் எஞ்சிய வரைபடங்கள் எண் மதிப்பெண்கள் மட்டும் சொல்ல முடியாத விலைமதிப்பற்ற நுண்ணறிவுகளை வழங்குகின்றன. தொழில்நுட்பம் அல்லாத பங்குதாரர்களுக்கு சிக்கலான முடிவுகளைத் தொடர்புகொள்வதற்கும் காட்சிப்படுத்தல்கள் சிறந்தவை.
- சறுக்கலைக் கண்காணிக்கவும்: பயன்பாட்டிற்குப் பிறகு, உங்கள் மாதிரியின் செயல்திறனையும் உள்வரும் தரவுகளின் பண்புகளையும் தொடர்ந்து கண்காணிக்கவும். தரவு மற்றும் கருத்து சறுக்கல் காலப்போக்கில் மாதிரி செயல்திறனை அமைதியாக சீரழிக்கலாம்.
- பாகுபாடு மற்றும் நேர்மையை முன்கூட்டியே சரிசெய்யவும்: குறிப்பாக உலகளாவிய பயன்பாடுகளில், நேர்மையை உறுதிப்படுத்த உங்கள் மதிப்பீட்டை தொடர்புடைய மக்கள்தொகை அல்லது புவியியல் குழுக்களால் பிரிக்கவும். சார்புகளை அடையாளம் காணவும் குறைக்கவும் தீவிரமாக செயல்படவும்.
- அனைத்தையும் ஆவணப்படுத்தவும்: உங்கள் மதிப்பீட்டு முறைகள், தேர்ந்தெடுக்கப்பட்ட அளவீடுகள் மற்றும் கவனிக்கப்பட்ட செயல்திறன் பற்றிய விரிவான பதிவுகளை வைத்திருக்கவும். இது மறுஉருவாக்கம், தணிக்கைகள் மற்றும் எதிர்கால மாதிரி மேம்பாடுகளுக்கு மிக முக்கியம்.
முடிவுரை: உலகளாவிய தாக்கத்திற்கான மதிப்பீட்டை மாஸ்டரிங் செய்தல்
மெஷின் லேர்னிங் மாதிரிகளை உருவாக்குதல் மற்றும் பயன்படுத்துதல் ஒரு சிக்கலான பயணமாகும், ஆனால் அதன் வெற்றி வலுவான மற்றும் நுண்ணறிவுள்ள மதிப்பீட்டைப் பொறுத்தது. மதிப்பீட்டு அளவீடுகளுக்கும் (குறிப்பிட்ட கணக்கீடுகள்) மதிப்பெண் செயல்பாடுகளுக்கும் (ஸ்கிக்கிட்-லேர்ன் போன்ற கட்டமைப்புகளுக்குள் அந்த அளவீடுகளை முறையாகப் பயன்படுத்தும் கருவிகள்) இடையே தெளிவாக வேறுபடுத்துவதன் மூலம், தரவு அறிவியலாளர்கள் மாதிரி மதிப்பீட்டின் சிக்கல்களை அதிக துல்லியத்துடன் கையாள முடியும்.
உலகளாவிய பார்வையாளர்களுக்கு, தேவை வெறும் புள்ளிவிவரத் துல்லியத்திற்கு அப்பால் செல்கிறது. இது நேர்மை, பல்வேறு தரவு நிலப்பரப்புகளுக்கு ஏற்புடைய தன்மை, கணக்கீட்டுத் திறன் மற்றும் வெளிப்படையான விளக்கத்தன்மை ஆகியவற்றை உள்ளடக்கியது. பைதானின் சக்திவாய்ந்த ML நூலகங்கள் இந்த தேவைகளைப் பூர்த்தி செய்ய அத்தியாவசிய கருவிகளை வழங்குகின்றன, உலகளவில் தாக்கத்தை ஏற்படுத்தும் மற்றும் பொறுப்பான AI தீர்வுகளை உருவாக்க, மதிப்பிட மற்றும் பயன்படுத்த நிபுணர்களுக்கு அதிகாரம் அளிக்கின்றன.
ஒரு விரிவான மதிப்பீட்டு உத்தியைத் தழுவுங்கள், நீங்கள் சிறந்த மாதிரிகளை உருவாக்குவது மட்டுமல்லாமல், அதிக நம்பிக்கையை வளர்ப்பீர்கள் மற்றும் நமது ஒன்றோடொன்று இணைக்கப்பட்ட உலகின் ஒவ்வொரு மூலையிலும் ஆழமான மதிப்பையும் வழங்குவீர்கள்.